package com.zhitan.ems.app.iot.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhitan.ems.common.annotation.Excel;
import com.zhitan.ems.framework.core.mp.base.BaseEntity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 设备分组
 * 
 * @author zhitan
 * 
 * @date 2025-09-19 22:15:46
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("iot_group")
public class GroupEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 分组ID
	 */
	@TableId
	@ApiModelProperty("分组ID")
	@Excel(name = "分组ID")
	private Long groupId;
	/**
	 * 分组名称
	 */
	@ApiModelProperty("分组名称")
	@Excel(name = "分组名称")
	private String groupName;
	/**
	 * 分组排序
	 */
	@ApiModelProperty("分组排序")
	@Excel(name = "分组排序")
	private Integer groupOrder;
	/**
	 * 用户ID
	 */
	@ApiModelProperty("用户ID")
	@Excel(name = "用户ID")
	private Long userId;
	/**
	 * 用户昵称
	 */
	@ApiModelProperty("用户昵称")
	@Excel(name = "用户昵称")
	private String userName;
	/**
	 * 创建者
	 */
	@ApiModelProperty("创建者")
	@Excel(name = "创建者")
	private String createBy;
	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date createAt;
	/**
	 * 更新者
	 */
	@ApiModelProperty("更新者")
	@Excel(name = "更新者")
	private String updateBy;
	/**
	 * 更新时间
	 */
	@ApiModelProperty("更新时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date updateAt;
	/**
	 * 备注
	 */
	@ApiModelProperty("备注")
	@Excel(name = "备注")
	private String remark;
	/**
	 * 类型：0工厂 10 楼栋 20 车间 100房间
	 */
	@ApiModelProperty("类型：0工厂  10 楼栋  20 车间 100房间  1000 设备")
	@Excel(name = "类型：0工厂  10 楼栋  20 车间 100房间 1000 设备")
	private Integer groupType;
	
	private Long deviceId;
	private String deviceCode;
	
	private Integer status;
	@ApiModelProperty("父节点 ")
	private Long parentGroupId;
	/**
	 * 
	 */
	private Long tenantId;
	/**
	 * 租户名称
	 */
	@ApiModelProperty("租户名称")
	@Excel(name = "租户名称")
	private String tenantName;
	
	
	@ApiModelProperty("能源类型：10 水 20 电 30 气 ")
	@Excel(name = "能源类型")
	private Integer energyType;
	
	@ApiModelProperty("是否重点关注")
	@Excel(name = "是否重点关注")
	private Integer focusState;

}